/***************************************************
* Module name: Operation
*
* Copyright 2008 JuanSebastian S.A.
* All Rights Reserved.
*
* The information contained herein is confidential
* property of Company. The user, copying, transfer or
* disclosure of such information is prohibited except
* by express written agreement with Company.
*
* First written on 01-dic-08 by Juan Sebastian Cabrera.
*
* Module Description:
* make an operations for polar and rectangular complex number
*
***************************************************/
/**************************************************
* Function name : Action sum(Rectangular&, Rectangular&, Rectangular&)     
* returns : SUCCESS or FAIL 
* arg1 : Rectangular complex number (sumando1)
* arg2 : Rectangular complex number (sumando2)
* arg2 : Rectangular complex number (answer)
* Created by : Juan Sebastian Cabrera
* Date created : 01-dic-08
* Description : this funtion make an addition between complex numbers in 
*               rectangular coordinates.
* Notes : don't exist some restrictions or odd modes.
**************************************************/
/**************************************************
* Function name : Action sum(Polar&, Polar&, Polar&)     
* returns : SUCCESS or FAIL 
* arg1 : Polar complex number (sumando1)
* arg2 : Polar complex number (sumando1)
* arg2 : Polar complex number (answer)
* Created by : Juan Sebastian Cabrera
* Date created : 01-dic-08
* Description : this funtion make an addition between complex numbers in 
*               polar coordinates.
* Notes : don't exist some restrictions or odd modes.
**************************************************/
/**************************************************
* Function name : Action multiplication(Rectangular *, Rectangular *, Rectangular *)     
* returns : SUCCESS or FAIL 
* arg1 : Rectangular complex number (multiplicando1)
* arg2 : Rectangular complex number (multoplicando2)
* arg2 : Rectangular complex number (answer)
* Created by : Juan Sebastian Cabrera
* Date created : 01-dic-08
* Description : this funtion make a multiplication between complex numbers in 
*               rectangular coordinates.
* Notes : don't exist some restrictions or odd modes.
**************************************************/
/**************************************************
* Function name : Action multiplication(Polar*, Polar*, Polar*)      
* returns : SUCCESS or FAIL 
* arg1 : Polar complex number (multiplicando1)
* arg2 : Polar complex number (multiplicando2)
* arg2 : Polar complex number (answer)
* Created by : Juan Sebastian Cabrera
* Date created : 01-dic-08
* Description : this funtion make a multiplication between complex numbers in 
*               polar coordinates.
* Notes : don't exist some restrictions or odd modes.
**************************************************/

#ifndef _RECT
#include "Rectangular.h"
#endif

#ifndef _POL
#include "Polar.h"
#endif

#ifndef _STANDAR
#include "standar.h"
#endif

#include <iostream>
class Operation
{
public:  
  Operation(){cout << "A Operation Object is created." << endl;}    //defined inline
  ~Operation(){cout << "A Operation Object is destroyed." << endl;} //defined inline
//overload funtions
//reference pass using reference
  Action sum(Rectangular&, Rectangular&, Rectangular&);      
  Action sum(Polar&, Polar&, Polar&);                        
//reference pass using punters
  Action multiplication(Rectangular *, Rectangular *, Rectangular *);
  Action multiplication(Polar*, Polar*, Polar*); 
};
